Data storage systems are arrangements of hardware and software that include storage processors coupled to arrays of non-volatile storage devices, such as magnetic disk drives, electronic flash drives, and/or optical drives, for example. The storage processors service storage requests, arriving from host machines (“hosts”), which specify files or other data elements to be written, read, created, deleted, and so forth. Software running on the storage processors manages incoming storage requests and performs various data processing tasks to organize and secure the data elements stored on the non-volatile storage devices.
Some data storage systems aggregate data objects in structures known as virtual data movers (VDMs). Each VDM is a collection of user file systems, settings, and one or more network servers, such as a CIFS (Common Internet File System) server, SMB (Server Message Block) server, and/or an NFS (Network File System) server, which provide host access to the file systems. Many VDMs may operate together in a single storage processor and within a single operating system environment. Each VDM typically has an owner, and the owner is typically a tenant of the storage system. As is known, a “tenant” is an entity on whose behalf data are stored, such as a company, some other type of organization, or a user.
In storage systems that support multi-tenancy, each VDM is typically owned by a tenant, and that tenant has exclusive access to the contents of the VDM. Storage systems may segregate VDMs based on tenant, ensuring that no two tenants use the same network server (e.g., CIFS, SMB, or NFS server). For stronger isolation, some storage systems support per-tenant storage pools, i.e., collections of storage resources derived from disk drives in the system. Each tenant may have its own storage pool, or multiple such pools, on which that tenant's VDMs are deployed. As VDMs of different tenants are backed by different pools, such systems provide isolation between tenants at the storage level.